package ca.starfarer.kobold.dao;

import ca.starfarer.kobold.dao.sqlite.SQLiteDAOManager;

import java.io.IOException;

/**
 * @author Kevin
 */
public abstract class DAOManager {

    public static DAOManager createDAOManager(String filename) throws DataAccessException {
        // There's only one implementation fore now
        return new SQLiteDAOManager(filename);
    }

    protected DAOManager() { }

    /**
     * Create the necessary tables and indexes to initialize a fresh database
     */
    public abstract void initializeDB() throws DataAccessException;

    public abstract MonsterDAO getMonsterDAO();
}
